home *** CD-ROM | disk | FTP | other *** search
- /* ANSI C code generated by SmallEiffel. */
- /*
- -- SmallEiffel -- Release (- 0.97) -- FRANCE
- -- Copyright (C), 1994 - Dominique COLNET and Suzanne COLLIN
- -- University Henri Poincare' - Nancy 1 - email colnet@loria.fr
- -- CRIN (Centre de Recherche en Informatique de Nancy)
- -- FRANCE
- */
- #include "compile_to_c.h"
- T0 *new(int id){
- int sz=s[id];
- T0 *n=malloc(sz);
- memset(n,0,sz);
- n->id=id;
- return n;
- }
- T0* rT252runnable(T252 *C,T0* a1,T0 * a2,T0 * a3){
- T0* R=NULL;
- T0 * _a=NULL;
- int _i=0;
- /*IF*/if (!(rT158empty((T158*)a1))) {
- R=rT252clone(C,a1);
- _i=1;
- while (!((_i)>(((T158*)R)->_upper))) {
- rT52push((T52*)oRBC27small_eiffel,a3);
- _a=rT64to_runnable((T64*)rT158item((T158*)R,_i),a2);
- /*IF*/if (!(_a)) {
- rT252error(rT64start_position((T64*)rT158item((T158*)R,_i)),(T0 *)ms477);
- }
- else {
- rT158put((T158*)R,_a,_i);
- }
- /*FI*/rT52pop((T52*)oRBC27small_eiffel);
- _i=(_i)+(1);
- }
- }
- /*FI*/return R;
- }
- T0 * rT252run_require(T252 *C,T0 * a1){
- T0 * R=NULL;
- T0* _ar=NULL;
- T0 * _er=NULL;
- T0* _r=NULL;
- int _i=0;
- rT268clear((T268*)oRBC62require_collector);
- rT50collect_for((T50*)XrT58base_class(XrT261current_type(a1)),1001,XrT261name(a1));
- /*IF*/if (!(rT268empty((T268*)oRBC62require_collector))) {
- _i=1;
- while (!((_i)>(((T268*)oRBC62require_collector)->_upper))) {
- _er=rT268item((T268*)oRBC62require_collector,_i);
- _r=rT252runnable(C,((T137*)_er)->_list,XrT261current_type(a1),a1);
- /*IF*/if (((int)_r)) {
- {T137 *n=((T137*)new(137));
- rT137from_runnable(n,_r);
- _er=(T0 *)n;}
- /*IF*/if (!(_ar)) {
- _ar=ma(268,0,1,_er);
- }
- else {
- rT268add_last((T268*)_ar,_er);
- }
- /*FI*/}
- /*FI*/_i=(_i)+(1);
- }
- /*IF*/if (((int)_ar)) {
- {T267 *n=((T267*)new(267));
- /*(IRF3*/((n)->_list)=(_ar);
- /*)*/R=(T0 *)n;}
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0*oRBC62require_collector;
- void rT252fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- T0 * rT252first_name(T252 *C){
- T0 * R=NULL;
- R=rT128item((T128*)(C)->_names,1);
- return R;
- }
- T0 * rT252to_run_feature(T252 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- {T281 *n=((T281*)new(281));
- rT281make(n,a1,a2,(T0 *)C);
- R=(T0 *)n;}
- return R;
- }
- void rT252error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- void rT252fe_undefine(/*C*/T0 * a1,T0 * a2){
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms483);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms484);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
- rT252fatal_error((T0 *)ms485);
- }
- int rT252is_merge_with(T252 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT252error(rT252start_position(C),(T0 *)ms488);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!((C)->_arguments))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT252error(rT252start_position(C),(T0 *)ms489);
- }
- else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT252error(rT252start_position(C),(T0 *)ms490);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- rT45error((T45*)oRBC27eh,(T0 *)ms491);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_arguments)) {
- /*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT252error(rT252start_position(C),(T0 *)ms494);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0*oRBC27eh;
- T0 * rT252start_position(T252 *C){
- T0 * R=NULL;
- R=XrT67start_position(rT252first_name(C));
- return R;
- }
- void rT252collect_for(T252 *C,int a1){
- /*IF*/if ((a1)==(1001)) {
- /*IF*/if (((int)(C)->_require_assertion)) {
- /*IF*/if (!(rT268fast_has((T268*)oRBC62require_collector,(C)->_require_assertion))) {
- rT268add_last((T268*)oRBC62require_collector,(C)->_require_assertion);
- }
- /*FI*/}
- /*FI*/}
- else {
- /*IF*/if (((int)(C)->_ensure_assertion)) {
- rT157add_into((T157*)(C)->_ensure_assertion,oRBC62assertion_collector);
- }
- /*FI*/}
- /*FI*/}
- void rT252add_into(T252 *C,T0 * a1){
- T0 * _fn=NULL;
- int _i=0;
- C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
- _i=1;
- while (!((_i)>(rT128count((T128*)(C)->_names)))) {
- _fn=rT128item((T128*)(C)->_names,_i);
- /*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
- _fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(_fn));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
- rT45error((T45*)oRBC27eh,(T0 *)ms419);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(_fn));
- rT45error((T45*)oRBC27eh,(T0 *)ms38);
- }
- else {
- rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- T0* rT252clone(T252 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- T0 * rT252try_to_undefine(T252 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- /*IF*/if (XrT67is_frozen(a1)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT252start_position(C));
- rT252error(XrT67start_position(a1),(T0 *)ms482);
- rT252fe_undefine(a1,a2);
- }
- else {
- R=rT252try_to_undefine_aux(C,a1,a2);
- /*IF*/if (((int)R)) {
- XrT203set_clients(R,(C)->_clients);
- }
- else {
- rT252fe_undefine(a1,a2);
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0 * rT252try_to_undefine_aux(T252 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- {T205 *n=((T205*)new(205));
- rT205from_effective(n,a1,(C)->_arguments,(C)->_result_type,(C)->_require_assertion,(C)->_ensure_assertion,a2);
- R=(T0 *)n;}return R;
- }
- void rT252set_header_comment(T252 *C,T0 * a1){
- /*IF*/if ((((int)a1))&&((rT59count((T59*)a1))>(1))) {
- C->_end_comment=a1;
- }
- /*FI*/}
- int rT252can_hide(T252 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT252error(rT252start_position(C),(T0 *)ms501);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!((C)->_arguments))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT252error(rT252start_position(C),(T0 *)ms502);
- }
- else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT252error(rT252start_position(C),(T0 *)ms503);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms504);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms505);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_arguments)) {
- /*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT252start_position(C));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms506);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms507);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT252run_ensure(T252 *C,T0 * a1){
- T0 * R=NULL;
- T0* _r=NULL;
- rT158clear((T158*)oRBC62assertion_collector);
- rT50collect_for((T50*)XrT58base_class(XrT261current_type(a1)),1002,XrT261name(a1));
- _r=rT252runnable(C,oRBC62assertion_collector,XrT261current_type(a1),a1);
- /*IF*/if (((int)_r)) {
- {T157 *n=((T157*)new(157));
- rT157from_runnable(n,_r);
- R=(T0 *)n;}
- }
- /*FI*/return R;
- }
- T0*oRBC27small_eiffel;
- T0 * rT252base_class_name(T252 *C){
- T0 * R=NULL;
- R=((T50*)(C)->_base_class)->_base_class_name;
- return R;
- }
- void rT252copy(T252 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT252set_rescue_compound(T252 *C,T0 * a1){
- /*IF*/if ((((int)a1))&&(/*(IRF4*/0/*)*/)) {
- rT252error(rT252start_position(C),(T0 *)ms402);
- }
- /*FI*/C->_rescue_compound=a1;
- }
- void rT252make_e_feature(T252 *C,T0 * a1,T0 * a2){
- C->_names=a1;
- C->_result_type=a2;
- }
- void rT252make_routine(T252 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5){
- rT252make_e_feature(C,a1,NULL);
- C->_header_comment=a4;
- C->_arguments=a2;
- C->_obsolete_mark=a3;
- C->_require_assertion=a5;
- }
- void rT252make_effective_routine(T252 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5,T0 * a6,T0 * a7){
- rT252make_routine(C,a1,a2,a3,a4,a5);
- C->_local_vars=a6;
- C->_routine_body=a7;
- C->_use_current_state=1015;
- }
- T0*oRBC62assertion_collector;
- void rT252make(T252 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5,T0 * a6,T0 * a7,T0 * a8){
- rT252make_effective_routine(C,a1,a2,a4,a5,a6,a7,a8);
- C->_result_type=a3;
- }
- int rT77static_value(T77 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- void rT77fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- T0 * rT77to_runnable(T77 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if (!((C)->_current_type)) {
- C->_current_type=a1;
- R=(T0 *)C;
- }
- else {
- R=rT77clone(C,(T0 *)C);
- R=rT77to_runnable((T77*)R,a1);
- }
- /*FI*/return R;
- }
- void rT77error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT77add_comment(T77 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT77result_type(/*C*/void){
- T0 * R=NULL;
- rT77error(/*(IRF4*/NULL/*)*/,(T0 *)ms1155);
- return R;
- }
- T0* rT77clone(T77 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- int rT77to_integer(/*C*/void){
- int R=0;
- rT77error(/*(IRF4*/NULL/*)*/,(T0 *)ms175);
- return R;
- }
- T0 * rT77written_in(/*C*/void){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=/*(IRF4*/NULL/*)*/;
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT77copy(T77 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT77is_a(/*C*/T0 * a1){
- int R=0;
- R=XrT58is_a(XrT102run_type(rT77result_type()),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(/*(IRF4*/NULL/*)*/);
- rT77error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- T0*oRBC27cpp;
- int rT79static_value(T79 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- T0 * rT79to_runnable(T79 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if (!((C)->_current_type)) {
- C->_current_type=a1;
- R=(T0 *)C;
- }
- else {
- R=rT79clone(C,(T0 *)C);
- /*(IRF3*/(((T79*)R)->_current_type)=(a1);
- /*)*/}
- /*FI*/return R;
- }
- void rT79error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT79add_comment(T79 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- int ofBC79result_type=0;
- T0*oRBC79result_type;
- T0 * rT79result_type(/*C*/void){
- T0 * R=NULL;
- if (ofBC79result_type==0){
- ofBC79result_type=1;
- {T114 *n=((T114*)new(114));
- rT114make(n,NULL);
- R=(T0 *)n;}
- oRBC79result_type=R;}
- return oRBC79result_type;}
- T0 * rT79_px45(T79 *C){
- T0 * R=NULL;
- rT79error((C)->_start_position,(T0 *)ms174);
- return R;
- }
- T0* rT79clone(T79 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- void rT79compile_to_c(T79 *C){
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1159);
- rT40put_string((T40*)oRBC27cpp,(C)->_to_string);
- rT40put_character((T40*)oRBC27cpp,'\51');
- }
- int rT79to_integer(T79 *C){
- int R=0;
- rT79error((C)->_start_position,(T0 *)ms175);
- return R;
- }
- T0 * rT79to_integer_constant(T79 *C){
- T0 * R=NULL;
- rT79error((C)->_start_position,(T0 *)ms273);
- return R;
- }
- T0 * rT79written_in(T79 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=(C)->_start_position;
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT79copy(T79 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT79is_a(T79 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(rT114run_type((T114*)rT79result_type()),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position((C)->_start_position);
- rT79error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT79make(T79 *C,T0 * a1,T0* a2,int a3,float a4,int a5){
- C->_start_position=a1;
- C->_to_string=a2;
- C->_integral_part=a3;
- C->_fractional_part=a4;
- C->_exponent=a5;
- }
- int rT168static_value(T168 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- T0 * rT168to_runnable(T168 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _exp=NULL;
- /*IF*/if (!((C)->_current_type)) {
- C->_current_type=a1;
- _exp=XrT68to_runnable((C)->_expression,a1);
- /*IF*/if (!(_exp)) {
- rT168error(rT168start_position(C),(T0 *)ms1146);
- }
- else {
- C->_expression=_exp;
- }
- /*FI*/C->_id=rT40next_e_old_id((T40*)oRBC27cpp);
- R=(T0 *)C;
- }
- else {
- {T168 *n=((T168*)new(168));
- /*(IRF3*/((n)->_expression)=((C)->_expression);
- /*)*/R=(T0 *)n;}
- R=rT168to_runnable((T168*)R,a1);
- }
- /*FI*/return R;
- }
- void rT168error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT168add_comment(T168 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT168result_type(T168 *C){
- T0 * R=NULL;
- R=XrT68result_type((C)->_expression);
- return R;
- }
- T0 * rT168start_position(T168 *C){
- T0 * R=NULL;
- R=XrT68start_position((C)->_expression);
- return R;
- }
- int rT168use_current(T168 *C){
- int R=0;
- R=XrT68use_current((C)->_expression);
- return R;
- }
- void rT168compile_to_c_old(T168 *C){
- T0 * _t=NULL;
- _t=XrT58run_type(rT168result_type(C));
- rT40put_character((T40*)oRBC27cpp,'T');
- /*IF*/if (XrT58is_expanded(_t)) {
- rT40put_integer((T40*)oRBC27cpp,XrT58id(_t));
- rT40put_character((T40*)oRBC27cpp,'\40');
- }
- else {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1521);
- }
- /*FI*/rT40put_character((T40*)oRBC27cpp,'o');
- rT40put_integer((T40*)oRBC27cpp,(C)->_id);
- rT40put_character((T40*)oRBC27cpp,'\75');
- XrT68compile_to_c((C)->_expression);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1522);
- }
- void rT168compile_to_c(T168 *C){
- rT40put_character((T40*)oRBC27cpp,'o');
- rT40put_integer((T40*)oRBC27cpp,(C)->_id);
- }
- int rT168to_integer(T168 *C){
- int R=0;
- rT168error(rT168start_position(C),(T0 *)ms175);
- return R;
- }
- T0 * rT168written_in(T168 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=rT168start_position(C);
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT168copy(T168 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT168is_a(T168 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type(rT168result_type(C)),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT168start_position(C));
- rT168error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT255fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- T0 * rT255first_name(T255 *C){
- T0 * R=NULL;
- R=rT128item((T128*)(C)->_names,1);
- return R;
- }
- T0 * rT255to_run_feature(T255 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- {T273 *n=((T273*)new(273));
- rT273make(n,a1,a2,(T0 *)C);
- R=(T0 *)n;}
- return R;
- }
- void rT255error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- void rT255fe_undefine(/*C*/T0 * a1,T0 * a2){
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms483);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms484);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
- rT255fatal_error((T0 *)ms485);
- }
- int rT255is_merge_with(T255 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT255error(rT255start_position(C),(T0 *)ms488);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!((C)->_arguments))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT255error(rT255start_position(C),(T0 *)ms489);
- }
- else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT255error(rT255start_position(C),(T0 *)ms490);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- rT45error((T45*)oRBC27eh,(T0 *)ms491);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_arguments)) {
- /*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT255error(rT255start_position(C),(T0 *)ms494);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT255start_position(T255 *C){
- T0 * R=NULL;
- R=XrT67start_position(rT255first_name(C));
- return R;
- }
- void rT255collect_for(T255 *C,int a1){
- /*IF*/if ((a1)==(1001)) {
- /*IF*/if (((int)(C)->_require_assertion)) {
- /*IF*/if (!(rT268fast_has((T268*)oRBC62require_collector,(C)->_require_assertion))) {
- rT268add_last((T268*)oRBC62require_collector,(C)->_require_assertion);
- }
- /*FI*/}
- /*FI*/}
- else {
- /*IF*/if (((int)(C)->_ensure_assertion)) {
- rT157add_into((T157*)(C)->_ensure_assertion,oRBC62assertion_collector);
- }
- /*FI*/}
- /*FI*/}
- void rT255add_into(T255 *C,T0 * a1){
- T0 * _fn=NULL;
- int _i=0;
- C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
- _i=1;
- while (!((_i)>(rT128count((T128*)(C)->_names)))) {
- _fn=rT128item((T128*)(C)->_names,_i);
- /*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
- _fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(_fn));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
- rT45error((T45*)oRBC27eh,(T0 *)ms419);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(_fn));
- rT45error((T45*)oRBC27eh,(T0 *)ms38);
- }
- else {
- rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- T0 * rT255try_to_undefine(T255 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- /*IF*/if (XrT67is_frozen(a1)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT255start_position(C));
- rT255error(XrT67start_position(a1),(T0 *)ms482);
- rT255fe_undefine(a1,a2);
- }
- else {
- R=rT255try_to_undefine_aux(C,a1,a2);
- /*IF*/if (((int)R)) {
- XrT203set_clients(R,(C)->_clients);
- }
- else {
- rT255fe_undefine(a1,a2);
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0 * rT255try_to_undefine_aux(T255 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- rT255error(rT255start_position(C),(T0 *)ms1519);
- rT255fe_undefine(a1,a2);
- return R;
- }
- void rT255set_header_comment(T255 *C,T0 * a1){
- /*IF*/if ((((int)a1))&&((rT59count((T59*)a1))>(1))) {
- C->_end_comment=a1;
- }
- /*FI*/}
- void rT255mapping_c_name(T255 *C){
- rT50mapping_c((T50*)(C)->_base_class);
- XrT67mapping_c(rT255first_name(C));
- }
- int rT255can_hide(T255 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT255error(rT255start_position(C),(T0 *)ms501);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!((C)->_arguments))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT255error(rT255start_position(C),(T0 *)ms502);
- }
- else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT255error(rT255start_position(C),(T0 *)ms503);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms504);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms505);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_arguments)) {
- /*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT255start_position(C));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms506);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms507);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT255base_class_name(T255 *C){
- T0 * R=NULL;
- R=((T50*)(C)->_base_class)->_base_class_name;
- return R;
- }
- void rT255copy(T255 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT255set_rescue_compound(T255 *C,T0 * a1){
- /*IF*/if ((((int)a1))&&(/*(IRF4*/0/*)*/)) {
- rT255error(rT255start_position(C),(T0 *)ms402);
- }
- /*FI*/C->_rescue_compound=a1;
- }
- void rT255make_e_feature(T255 *C,T0 * a1,T0 * a2){
- C->_names=a1;
- C->_result_type=a2;
- }
- void rT255make_routine(T255 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5){
- rT255make_e_feature(C,a1,NULL);
- C->_header_comment=a4;
- C->_arguments=a2;
- C->_obsolete_mark=a3;
- C->_require_assertion=a5;
- }
- void rT255make_effective_routine(T255 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5,T0 * a6,T0 * a7){
- rT255make_routine(C,a1,a2,a3,a4,a5);
- C->_local_vars=a6;
- C->_routine_body=a7;
- C->_use_current_state=1015;
- }
- void rT255make(T255 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5,T0 * a6,T0 * a7,T0 * a8){
- rT255make_effective_routine(C,a1,a2,a4,a5,a6,a7,a8);
- C->_result_type=a3;
- }
- void rT254fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- T0 * rT254first_name(T254 *C){
- T0 * R=NULL;
- R=rT128item((T128*)(C)->_names,1);
- return R;
- }
- T0 * rT254to_run_feature(T254 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- {T282 *n=((T282*)new(282));
- rT282make(n,a1,a2,(T0 *)C);
- R=(T0 *)n;}
- return R;
- }
- void rT254error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- void rT254fe_undefine(/*C*/T0 * a1,T0 * a2){
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms483);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms484);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
- rT254fatal_error((T0 *)ms485);
- }
- int rT254is_merge_with(T254 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT254error(rT254start_position(C),(T0 *)ms488);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!((C)->_arguments))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT254error(rT254start_position(C),(T0 *)ms489);
- }
- else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT254error(rT254start_position(C),(T0 *)ms490);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- rT45error((T45*)oRBC27eh,(T0 *)ms491);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_arguments)) {
- /*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT254error(rT254start_position(C),(T0 *)ms494);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT254start_position(T254 *C){
- T0 * R=NULL;
- R=XrT67start_position(rT254first_name(C));
- return R;
- }
- void rT254collect_for(T254 *C,int a1){
- /*IF*/if ((a1)==(1001)) {
- /*IF*/if (((int)(C)->_require_assertion)) {
- /*IF*/if (!(rT268fast_has((T268*)oRBC62require_collector,(C)->_require_assertion))) {
- rT268add_last((T268*)oRBC62require_collector,(C)->_require_assertion);
- }
- /*FI*/}
- /*FI*/}
- else {
- /*IF*/if (((int)(C)->_ensure_assertion)) {
- rT157add_into((T157*)(C)->_ensure_assertion,oRBC62assertion_collector);
- }
- /*FI*/}
- /*FI*/}
- void rT254add_into(T254 *C,T0 * a1){
- T0 * _fn=NULL;
- int _i=0;
- C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
- _i=1;
- while (!((_i)>(rT128count((T128*)(C)->_names)))) {
- _fn=rT128item((T128*)(C)->_names,_i);
- /*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
- _fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(_fn));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
- rT45error((T45*)oRBC27eh,(T0 *)ms419);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(_fn));
- rT45error((T45*)oRBC27eh,(T0 *)ms38);
- }
- else {
- rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- T0 * rT254try_to_undefine(T254 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- /*IF*/if (XrT67is_frozen(a1)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT254start_position(C));
- rT254error(XrT67start_position(a1),(T0 *)ms482);
- rT254fe_undefine(a1,a2);
- }
- else {
- R=rT254try_to_undefine_aux(C,a1,a2);
- /*IF*/if (((int)R)) {
- XrT203set_clients(R,(C)->_clients);
- }
- else {
- rT254fe_undefine(a1,a2);
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0 * rT254try_to_undefine_aux(T254 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- rT254error(rT254start_position(C),(T0 *)ms1519);
- rT254fe_undefine(a1,a2);
- return R;
- }
- void rT254set_header_comment(T254 *C,T0 * a1){
- /*IF*/if ((((int)a1))&&((rT59count((T59*)a1))>(1))) {
- C->_end_comment=a1;
- }
- /*FI*/}
- void rT254mapping_c_name(T254 *C){
- rT50mapping_c((T50*)(C)->_base_class);
- XrT67mapping_c(rT254first_name(C));
- }
- int rT254can_hide(T254 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT254error(rT254start_position(C),(T0 *)ms501);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)(C)->_arguments)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!((C)->_arguments))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT254error(rT254start_position(C),(T0 *)ms502);
- }
- else if ((rT92count((T92*)(C)->_arguments))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT254error(rT254start_position(C),(T0 *)ms503);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms504);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms505);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_arguments)) {
- /*IF*/if (!(rT92is_a_in((T92*)(C)->_arguments,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT254start_position(C));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms506);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms507);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT254base_class_name(T254 *C){
- T0 * R=NULL;
- R=((T50*)(C)->_base_class)->_base_class_name;
- return R;
- }
- void rT254copy(T254 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT254set_rescue_compound(T254 *C,T0 * a1){
- /*IF*/if ((((int)a1))&&(/*(IRF4*/0/*)*/)) {
- rT254error(rT254start_position(C),(T0 *)ms402);
- }
- /*FI*/C->_rescue_compound=a1;
- }
- void rT254make_e_feature(T254 *C,T0 * a1,T0 * a2){
- C->_names=a1;
- C->_result_type=a2;
- }
- void rT254make_routine(T254 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5){
- rT254make_e_feature(C,a1,NULL);
- C->_header_comment=a4;
- C->_arguments=a2;
- C->_obsolete_mark=a3;
- C->_require_assertion=a5;
- }
- void rT254make(T254 *C,T0 * a1,T0 * a2,T0 * a3,T0 * a4,T0 * a5,T0 * a6,T0 * a7){
- rT254make_routine(C,a1,a2,a3,a4,a5);
- C->_local_vars=a6;
- C->_routine_body=a7;
- C->_use_current_state=1015;
- }
- void rT249warning(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45warning((T45*)oRBC27eh,a2);
- }
- T0 * rT249current_type(T249 *C){
- T0 * R=NULL;
- /*IF*/if (((int)(C)->_run_compound)) {
- R=((T140*)(C)->_run_compound)->_current_type;
- }
- /*FI*/return R;
- }
- void rT249fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- T0 * rT249to_runnable(T249 *C,T0 * a1){
- T0 * R=NULL;
- T0 * _e=NULL;
- /*IF*/if (!((C)->_run_compound)) {
- C->_run_compound=a1;
- _e=XrT68to_runnable((C)->_left_side,rT249current_type(C));
- /*IF*/if (!(_e)) {
- rT249error(XrT68start_position((C)->_left_side),(T0 *)ms1259);
- }
- else {
- C->_left_side=_e;
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- _e=XrT68to_runnable((C)->_right_side,rT249current_type(C));
- /*IF*/if (!(_e)) {
- rT249error(XrT68start_position((C)->_right_side),(T0 *)ms1260);
- }
- else {
- C->_right_side=_e;
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0))&&(XrT58is_a(XrT58run_type(rT249right_type(C)),XrT58run_type(rT249left_type(C))))) {
- /*IF*/if (!(XrT68is_current((C)->_right_side))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_type(rT249right_type(C),(T0 *)ms1264);
- /*UT*/(T45*)oRBC27eh;
- rT45add_type(rT249left_type(C),(T0 *)ms1265);
- rT249warning(rT249start_position(C),(T0 *)ms1266);
- }
- /*FI*/}
- /*FI*//*(IRF3*//*UT*/(T45*)oRBC27eh;
- /*(IRF3*/(((T7*)oRBC45explanation)->_count)=(0);
- /*)*/rT47clear((T47*)rT45positions());
- /*)*//*IF*/if (!(XrT58is_reference(XrT58run_type(rT249left_type(C))))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_type(XrT58run_type(rT249left_type(C)),(T0 *)ms1267);
- rT249error(rT249start_position(C),(T0 *)ms1268);
- }
- /*FI*//*IF*/if ((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)==(0)) {
- R=(T0 *)C;
- }
- /*FI*/}
- else {
- {T249 *n=((T249*)new(249));
- rT249make(n,(C)->_left_side,(C)->_right_side);
- R=(T0 *)n;}
- R=rT249to_runnable((T249*)R,a1);
- }
- /*FI*/return R;
- }
- T0 * rT249left_type(T249 *C){
- T0 * R=NULL;
- R=XrT68result_type((C)->_left_side);
- return R;
- }
- void rT249error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- T0 * rT249add_comment(T249 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- /*AF*/else {
- {T216 *n=((T216*)new(216));
- rT216make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT249start_position(T249 *C){
- T0 * R=NULL;
- R=XrT68start_position((C)->_left_side);
- return R;
- }
- int rT249use_current(T249 *C){
- int R=0;
- /*IF*/if (XrT68use_current((C)->_left_side)) {
- R=1;
- }
- else {
- R=XrT68use_current((C)->_right_side);
- }
- /*FI*/return R;
- }
- void rT249compile_to_c(T249 *C){
- int _i=0;
- T0* _run=NULL;
- _run=((T260*)XrT58run_class(XrT68result_type((C)->_left_side)))->_running;
- /*IF*/if ((!(_run))||(rT263empty((T263*)_run))) {
- XrT68compile_to_c((C)->_left_side);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1332);
- }
- else {
- XrT68compile_to_c((C)->_left_side);
- rT40put_character((T40*)oRBC27cpp,'\75');
- /*IF*/if (XrT58is_reference(XrT58run_type(rT249right_type(C)))) {
- /*IF*/if (XrT68is_current((C)->_right_side)) {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1333);
- }
- /*FI*/XrT68compile_to_c((C)->_right_side);
- }
- else {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT249start_position(C));
- rT249fatal_error((T0 *)ms1334);
- }
- /*FI*/rT40put_string((T40*)oRBC27cpp,(T0 *)ms1335);
- XrT68compile_to_c((C)->_left_side);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1336);
- XrT68compile_to_c((C)->_left_side);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1337);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1338);
- _i=((T263*)_run)->_lower;
- while (!((_i)>(((T263*)_run)->_upper))) {
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1339);
- rT40put_integer((T40*)oRBC27cpp,((T260*)rT263item((T263*)_run,_i))->_id);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1340);
- _i=(_i)+(1);
- }
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1341);
- XrT68compile_to_c((C)->_left_side);
- rT40put_string((T40*)oRBC27cpp,(T0 *)ms1342);
- }
- /*FI*/}
- void rT249copy(T249 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- T0 * rT249right_type(T249 *C){
- T0 * R=NULL;
- R=XrT68result_type((C)->_right_side);
- return R;
- }
- void rT249make(T249 *C,T0 * a1,T0 * a2){
- C->_left_side=a1;
- C->_right_side=a2;
- }
- int rT220is_static(T220 *C){
- int R=0;
- R=XrT68is_static((C)->_expression);
- /*IF*/if (R) {
- C->_static_value_mem=XrT68static_value_mem((C)->_expression);
- }
- /*FI*/return R;
- }
- int rT220static_value(T220 *C){
- int R=0;
- R=(C)->_static_value_mem;
- return R;
- }
- T0 * rT220to_runnable(T220 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if (!((C)->_current_type)) {
- C->_current_type=a1;
- C->_expression=XrT68to_runnable((C)->_expression,a1);
- R=(T0 *)C;
- }
- else {
- R=rT220clone(C,(T0 *)C);
- /*(IRF3*/(((T220*)R)->_current_type)=(NULL);
- /*)*/R=rT220to_runnable((T220*)R,a1);
- }
- /*FI*/return R;
- }
- void rT220error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- int rT220c_simple(T220 *C){
- int R=0;
- R=XrT68c_simple((C)->_expression);
- return R;
- }
- T0 * rT220add_comment(T220 *C,T0 * a1){
- T0 * R=NULL;
- /*IF*/if ((!(a1))||((rT59count((T59*)a1))==(0))) {
- R=(T0 *)C;
- }
- else {
- {T220 *n=((T220*)new(220));
- rT220make(n,(T0 *)C,a1);
- R=(T0 *)n;}}
- /*FI*/return R;
- }
- T0 * rT220result_type(T220 *C){
- T0 * R=NULL;
- R=XrT68result_type((C)->_expression);
- return R;
- }
- T0 * rT220start_position(T220 *C){
- T0 * R=NULL;
- R=XrT68start_position((C)->_expression);
- return R;
- }
- int rT220use_current(T220 *C){
- int R=0;
- R=XrT68use_current((C)->_expression);
- return R;
- }
- T0* rT220clone(T220 *C,T0* a1){
- T0* R=NULL;
- /*IF*/if (((int)a1)) {
- R=(T0 *)new(a1->id);
- AF_1
- XrT28copy(R,a1);
- AF_0
- }
- /*FI*/return R;
- }
- int rT220can_be_dropped(T220 *C){
- int R=0;
- R=XrT68can_be_dropped((C)->_expression);
- return R;
- }
- void rT220compile_to_c_old(T220 *C){
- XrT68compile_to_c_old((C)->_expression);
- }
- void rT220compile_to_c(T220 *C){
- XrT68compile_to_c((C)->_expression);
- }
- int rT220to_integer(T220 *C){
- int R=0;
- rT220error(rT220start_position(C),(T0 *)ms175);
- return R;
- }
- T0 * rT220written_in(T220 *C){
- T0 * R=NULL;
- T0 * _sp=NULL;
- _sp=rT220start_position(C);
- /*IF*/if (((int)_sp)) {
- R=((T46*)_sp)->_base_class_name;
- }
- /*FI*/return R;
- }
- void rT220copy(T220 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- int rT220is_a(T220 *C,T0 * a1){
- int R=0;
- R=XrT58is_a(XrT58run_type(rT220result_type(C)),XrT58run_type(XrT68result_type(a1)));
- /*IF*/if (!(R)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT220start_position(C));
- rT220error(XrT68start_position(a1),(T0 *)ms1261);
- }
- /*FI*/return R;
- }
- void rT220make(T220 *C,T0 * a1,T0 * a2){
- C->_expression=a1;
- C->_comment=a2;
- }
- T0 * rT256first_name(T256 *C){
- T0 * R=NULL;
- R=rT128item((T128*)(C)->_names,1);
- return R;
- }
- void rT256fatal_error(/*C*/T0* a1){
- rT45fatal_error((T45*)oRBC27eh,a1);
- }
- T0 * rT256to_run_feature(T256 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- {T283 *n=((T283*)new(283));
- rT283make(n,a1,a2,(T0 *)C);
- R=(T0 *)n;}
- return R;
- }
- void rT256error(/*C*/T0 * a1,T0* a2){
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(a1);
- rT45error((T45*)oRBC27eh,a2);
- }
- void rT256fe_undefine(/*C*/T0 * a1,T0 * a2){
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms483);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms484);
- /*UT*/(T45*)oRBC27eh;
- rT45append(((T48*)((T50*)a2)->_base_class_name)->_to_string);
- rT256fatal_error((T0 *)ms485);
- }
- int rT256is_merge_with(T256 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT256error(rT256start_position(C),(T0 *)ms488);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT256error(rT256start_position(C),(T0 *)ms489);
- }
- else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT256error(rT256start_position(C),(T0 *)ms490);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- rT45error((T45*)oRBC27eh,(T0 *)ms491);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- /*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT256error(rT256start_position(C),(T0 *)ms494);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT256start_position(T256 *C){
- T0 * R=NULL;
- R=XrT67start_position(rT256first_name(C));
- return R;
- }
- void rT256collect_for(/*C*/int a1){
- /*IF*/if ((a1)==(1001)) {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- /*IF*/if (!(rT268fast_has((T268*)oRBC62require_collector,/*(IRF4*/NULL/*)*/))) {
- rT268add_last((T268*)oRBC62require_collector,/*(IRF4*/NULL/*)*/);
- }
- /*FI*/}
- /*FI*/}
- else {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- rT157add_into((T157*)/*(IRF4*/NULL/*)*/,oRBC62assertion_collector);
- }
- /*FI*/}
- /*FI*/}
- void rT256add_into(T256 *C,T0 * a1){
- T0 * _fn=NULL;
- int _i=0;
- C->_base_class=rT46base_class((T46*)XrT67start_position(rT128item((T128*)(C)->_names,1)));
- _i=1;
- while (!((_i)>(rT128count((T128*)(C)->_names)))) {
- _fn=rT128item((T128*)(C)->_names,_i);
- /*IF*/if (rT61has((T61*)a1,XrT67to_key(_fn))) {
- _fn=XrT62first_name(rT61at((T61*)a1,XrT67to_key(_fn)));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(_fn));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT67start_position(rT128item((T128*)(C)->_names,_i)));
- rT45error((T45*)oRBC27eh,(T0 *)ms419);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT67to_string(_fn));
- rT45error((T45*)oRBC27eh,(T0 *)ms38);
- }
- else {
- rT61put((T61*)a1,(T0 *)C,XrT67to_key(_fn));
- }
- /*FI*/_i=(_i)+(1);
- }
- }
- T0 * rT256try_to_undefine(T256 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- /*IF*/if (XrT67is_frozen(a1)) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT256start_position(C));
- rT256error(XrT67start_position(a1),(T0 *)ms482);
- rT256fe_undefine(a1,a2);
- }
- else {
- R=rT256try_to_undefine_aux(C,a1,a2);
- /*IF*/if (((int)R)) {
- XrT203set_clients(R,(C)->_clients);
- }
- else {
- rT256fe_undefine(a1,a2);
- }
- /*FI*/}
- /*FI*/return R;
- }
- T0 * rT256try_to_undefine_aux(T256 *C,T0 * a1,T0 * a2){
- T0 * R=NULL;
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT256start_position(C));
- rT256error(XrT67start_position(a1),(T0 *)ms1518);
- rT256fe_undefine(a1,a2);
- return R;
- }
- int rT256can_hide(T256 *C,T0 * a1,T0 * a2){
- int R=0;
- int _ne=0;
- _ne=/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/;
- /*IF*/if (((T0 *)(C)->_result_type)!=((T0 *)XrT62result_type(a1))) {
- /*IF*/if ((!((C)->_result_type))||(!(XrT62result_type(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT256error(rT256start_position(C),(T0 *)ms501);
- }
- /*FI*/}
- /*FI*//*IF*/if (((T0 *)/*(IRF4*/NULL/*)*/)!=((T0 *)XrT62arguments(a1))) {
- /*IF*/if ((!(/*(IRF4*/NULL/*)*/))||(!(XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT256error(rT256start_position(C),(T0 *)ms502);
- }
- else if ((rT92count((T92*)/*(IRF4*/NULL/*)*/))!=(rT92count((T92*)XrT62arguments(a1)))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- rT256error(rT256start_position(C),(T0 *)ms503);
- }
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)(C)->_result_type)) {
- /*IF*/if (!(XrT58is_a_in((C)->_result_type,XrT62result_type(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms504);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms505);
- }
- /*FI*/}
- /*FI*/}
- /*FI*//*IF*/if (((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0)) {
- /*IF*/if (((int)/*(IRF4*/NULL/*)*/)) {
- /*IF*/if (!(rT92is_a_in((T92*)/*(IRF4*/NULL/*)*/,XrT62arguments(a1),a2))) {
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(XrT62start_position(a1));
- /*UT*/(T45*)oRBC27eh;
- rT45add_position(rT256start_position(C));
- /*UT*/(T45*)oRBC27eh;
- rT45append((T0 *)ms506);
- /*UT*/(T45*)oRBC27eh;
- rT45append(XrT58run_time_mark(((T260*)a2)->_current_type));
- rT45error((T45*)oRBC27eh,(T0 *)ms507);
- }
- /*FI*/}
- /*FI*/}
- /*FI*/R=((/*(IRF4*/((T45*)oRBC27eh)->_nb_errors/*)*/)-(_ne))==(0);
- return R;
- }
- T0 * rT256base_class_name(T256 *C){
- T0 * R=NULL;
- R=((T50*)(C)->_base_class)->_base_class_name;
- return R;
- }
- void rT256copy(T256 *C,T0 * a1){
- /*IF*//*AF*//*AE*/
- memcpy(C,a1,s[C->id]);
- /*FI*/}
- void rT256make(T256 *C,T0 * a1,T0 * a2){
- C->_names=a1;
- C->_result_type=a2;
- }
- T0 * rT226current_type(T226 *C){
- T0 * R=NULL;
- R=rT231current_type((T231*)(C)->_when_list);
- return R;
- }
-